<!DOCTYPE html>
<html>
<head>
    <script src="../build/react.js"></script>
    <script src="../build/react-dom.js"></script>
    <script src="../build/browser.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">

    class Reservation extends React.Component {
        constructor(props) {
            super(props);
            this.state = {
                isGoing: true,
                numberOfGuests: 2
            };

            this.handleInputChange = this.handleInputChange.bind(this);
        }

        handleInputChange(event) {
            const target = event.target;
            const value = target.type === 'checkbox' ? target.checked : target.value;
            const name = target.name;

            var partialState = {};
            partialState[name] = value;
            this.setState(partialState);
//            this.setState({
//                [name]: value
//            });
        }

        render() {
            return (
                    <form>
                        <label>
                            Is going:
                            <input
                                    name="isGoing"
                                    type="checkbox"
                                    checked={this.state.isGoing}
                                    onChange={this.handleInputChange} />
                        </label>
                        <br />
                        <label>
                            Number of guests:
                            <input
                                    name="numberOfGuests"
                                    type="number"
                                    value={this.state.numberOfGuests}
                                    onChange={this.handleInputChange} />
                        </label>
                    </form>
            );
        }
    }

    ReactDOM.render(
            <Reservation />,
        document.getElementById("example")
    );
</script>
</body>
</html>

